
#include "dibujador.h"


void dibujador::dibujar (SDL_Surface *pantalla, Escenario *esc){

	
	//primero dibujamos el fondo

	esc->dibujarFondo(pantalla);
	
	
	
	vector<Elemento*> listaElementos = esc->getListaElementos();

	vector<Elemento*>::iterator itElementos;
	
	string aux;

	//dbujamos primero el carril
	for (itElementos=listaElementos.begin(); itElementos!=listaElementos.end(); ++itElementos)
	{	
		aux = typeid(**itElementos).name() ;
		aux.erase(0,6);
		if (aux == "Carril"){
		(*itElementos)->Dibujar(pantalla);
		}
	}

	//despues dibujamos el resto
	for (itElementos=listaElementos.begin(); itElementos!=listaElementos.end(); ++itElementos)
	{	
		aux = typeid(**itElementos).name() ;
		aux.erase(0,6);
		if (aux != "Carril"){
		(*itElementos)->Dibujar(pantalla);
		}
	}

	SDL_Flip(pantalla);
	//srocha mouse
	SDL_Event event;
	while(SDL_WaitEvent(&event))
      {
         switch(event.type)
        {
           case SDL_MOUSEMOTION:
		     printf("Movimiento del mouse ");
			 printf("Nueva posicion es (%i , %i)",event.motion.x,event.motion.y);
			 printf("Eso es un cambio de (%i , %i)\n",event.motion.xrel,event.motion.yrel);
           break;

           case SDL_MOUSEBUTTONDOWN:
			 printf("Boton del mouse presionado ");
			 printf("Boton %i en (%i,%i)\n",event.button.button,event.button.x,event.button.y);
		   break;

	       case SDL_QUIT:
	         printf("Evento Quit \n bye...\n");
             exit(0);

        }
      }
  // fin srocha mouse

	
	SDL_Delay(50000);
}